package com.run.merchant.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.run.common.annotation.Excel;
import com.run.common.core.domain.BaseEntity;

/**
 * 代取员提升等级申请信息对象 run_level_info
 * 
 * @author run
 * @date 2025-05-20
 */
public class RunLevelInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long levelId;

    /** 代取员名称 */
    @Excel(name = "代取员名称")
    private String courierName;

    /** 申请等级名称 */
    @Excel(name = "申请等级名称")
    private String levelName;

    /** 申请原因 */
    @Excel(name = "申请原因")
    private String reason;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date applicationTime;

    /** 证明照片 */
    @Excel(name = "证明照片")
    private String img;

    /** 失败回复 */
    @Excel(name = "失败回复")
    private String reply;

    /** 审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审批时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date approvalTime;

    /** 申请状态 */
    @Excel(name = "申请状态")
    private String levelStatus;

    public void setLevelId(Long levelId) 
    {
        this.levelId = levelId;
    }

    public Long getLevelId() 
    {
        return levelId;
    }

    public void setCourierName(String courierName) 
    {
        this.courierName = courierName;
    }

    public String getCourierName() 
    {
        return courierName;
    }

    public void setLevelName(String levelName) 
    {
        this.levelName = levelName;
    }

    public String getLevelName() 
    {
        return levelName;
    }

    public void setReason(String reason) 
    {
        this.reason = reason;
    }

    public String getReason() 
    {
        return reason;
    }

    public void setApplicationTime(Date applicationTime) 
    {
        this.applicationTime = applicationTime;
    }

    public Date getApplicationTime() 
    {
        return applicationTime;
    }

    public void setImg(String img) 
    {
        this.img = img;
    }

    public String getImg() 
    {
        return img;
    }

    public void setReply(String reply) 
    {
        this.reply = reply;
    }

    public String getReply() 
    {
        return reply;
    }

    public void setApprovalTime(Date approvalTime) 
    {
        this.approvalTime = approvalTime;
    }

    public Date getApprovalTime() 
    {
        return approvalTime;
    }

    public void setLevelStatus(String levelStatus) 
    {
        this.levelStatus = levelStatus;
    }

    public String getLevelStatus() 
    {
        return levelStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("levelId", getLevelId())
            .append("courierName", getCourierName())
            .append("levelName", getLevelName())
            .append("reason", getReason())
            .append("applicationTime", getApplicationTime())
            .append("img", getImg())
            .append("reply", getReply())
            .append("approvalTime", getApprovalTime())
            .append("levelStatus", getLevelStatus())
            .toString();
    }
}
